import com.sun.security.jgss.GSSUtil;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Test {

    public static final void test1() throws ArithmeticException {
        int a = 10;
        int c = 0;
        System.out.println(a / c);

    }

    public static void main1(String[] args) {

        int q = 10;
        int p = 100;
        String s = "hello world";
        System.out.println(q + p);
        try {
            test1();              //try的花括号内是放入可能会抛出异常的语句
            //如果里面的语句没有抛出异常则会跳出try-catch语句


        } catch (ArithmeticException e) {   //小括号里是放入可能会捕捉到的异常类 e

            System.out.println("处理异常");  //catch花括号内是自行处理异常的方法

        } finally {
            System.out.println("无论是否捕捉到异常都一定会执行的代码");   //finally里的语句无论是否检测到异常都会执行的语句
        }

        System.out.println("处理完异常后的代码执行");  //这是处理异常后才会执行的语句
        // 当异常被捕获到时，异常就被处理了，这里的后序代码一定会执行
        //如果捕获了，由于捕获时类型不对，那就没有捕获到，这里的代码就不会被执行


    }


    public static int getData() {
        Scanner sc = null;
        try {
            sc = new Scanner(System.in);
            int data = sc.nextInt();
            return data;
        } catch (InputMismatchException e) {
            e.printStackTrace();
        } finally {
            System.out.println("finally中代码");
        }
        System.out.println("try-catch-finally之后代码");
        if (null != sc) {
            sc.close();
        }


        return 0;
    }

    public static void main(String[] args) {
        int data = getData();
        System.out.println(data);
    }
}
